package com.company.cloud.coupon.modules.mgr.controller.req;

import java.math.BigDecimal;
import java.util.List;

import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;

import com.company.cloud.common.bean.BaseParam;
import com.company.cloud.common.constant.BaseConstant.YNEnum;
import com.company.cloud.coupon.constant.CouponConstant.CouponActStateEnum;

import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;

@Getter
@Setter
public class CouponCarveUpConfigSaveParam extends BaseParam {

	@ApiModelProperty(value = "瓜分券名称", required = true)
	@NotEmpty(message = "不能为空")
	private String name;

	@ApiModelProperty(value = "是否有使用门槛", required = true)
	@NotEmpty(message = "不能为空")
	private String isUseLimit=YNEnum.NO.getCode();

	@ApiModelProperty(value = "满多少时使用")
	private BigDecimal useFullFund;

	@ApiModelProperty(value = "瓜分券总量", required = true)
	@NotNull(message = "不能为空")
	private Integer totalNum;


	@ApiModelProperty(value = "活动开始时间(yyyy-MM-dd HH:mm:ss)", required = true)
	@NotEmpty(message = "不能为空")
	private String startDate;

	@ApiModelProperty(value = "活动截止时间(yyyy-MM-dd HH:mm:ss)", required = true)
	@NotEmpty(message = "不能为空")
	private String endDate;

	@ApiModelProperty(value = "有效期(天)", required = true)
	@NotNull(message = "不能为空")
	private Integer indateDay;

	@ApiModelProperty(value = "有效期(小时)", required = true)
	@NotNull(message = "不能为空")
	private Integer indateHour;

	@ApiModelProperty(value = "有效期(分钟)", required = true)
	@NotNull(message = "不能为空")
	private Integer indateMinute;

	@ApiModelProperty(value = "瓜分内容-人数", required = true)
	@NotNull(message = "不能为空")
	private Integer carveupUserNum;

	@ApiModelProperty(value = "瓜分内容-金额", required = true)
	@NotNull(message = "不能为空")
	private BigDecimal carveupFund;

	@ApiModelProperty(value = "瓜分方式" , required = true)
	@NotNull(message = "不能为空")
	private String carveupWay;

	@ApiModelProperty(value = "可用商品分类", required = true)
	@NotNull(message = "不能为空")
	private String usableObjType;

	@ApiModelProperty(value = "可用品编号")
	private List<String> usableObjNo;

	@ApiModelProperty(value = "可使用期分类", required = true)
	@NotEmpty(message = "不能为空")
	private String useDateType;

	@ApiModelProperty(value = "使用开始时间固定(yyyy-MM-dd HH:mm:ss)")
	private String useStartDate;

	@ApiModelProperty(value = "使用过期时间固定(yyyy-MM-dd HH:mm:ss)")
	private String useEndDate;

	@ApiModelProperty(value = "使用过期天数相对")
	private Integer useEndDay;

	@ApiModelProperty(value = "模拟好友设置(YN)", required = true)
	@NotEmpty(message = "不能为空")
	private String simulateFriendSetting=YNEnum.NO.getCode();

	@ApiModelProperty(value = "领取数量分类", required = true)
	@NotEmpty(message = "不能为空")
	private String memberGetNumType;

	@ApiModelProperty(value = "领取数量")
	private Integer memberGetNum;

	@ApiModelProperty(value = "是否过期提醒(YN)", required = true)
	@NotEmpty(message = "不能为空")
	private String isRemind=YNEnum.NO.getCode();

	@ApiModelProperty(value = "过期提醒提前天数")
	private Integer remindDay;

	@ApiModelProperty(value = "其他限制")
	private List<String> otherSetting;

	@ApiModelProperty(value = "状态(CouponActStateEnum)")
	private String state=CouponActStateEnum.CFS_ING.getCode();

}
